package com.servitware.cardio.domain.transport;

import java.io.Serializable;
import java.sql.Time;
import java.util.Date;


public class SesionTx implements Serializable
{
	private static final long serialVersionUID = 2942327113092116549L;
	
	private Integer id = null;
	private Date fecha = null;
	private Integer duracion = null;
	private Date momentoAlgido = null;
	//private Time horaInicio=null;
	private String observaciones = null;
	
	/*
	 * este campo tiene la extension del nombre de archivo de sesion
	 * .edf por defecto
	 * 
	 * si el archivo es compactado puede ser 
	 * .edf.zip
	 */
	private String archivo = null;
	private String checkSum = null;

	

	public SesionTx(Integer id) throws IllegalArgumentException
	{
		super();
		
		if( id == null )
			throw new IllegalArgumentException("Id de SesionTx no puede ser NULO");
		
		this.id = id;
		this.archivo = ".edf";
	}

	/**
	 * Fija nombre de archivo
	 * Por defecto asume ".edf" como extension de archivo a tratar
	 * 
	 * @param archivo
	 */
	public void setArchivo(String archivo)
	{
		if( archivo == null )
		{
			this.archivo = ".edf";
			return;
		}
		
		if( archivo.charAt(0) != '.' )
		{
			this.archivo = "." + archivo;
			return;
		}
		
		this.archivo = archivo;
	}
	
	
	
	public String getArchivo()
	{
		return archivo;
	}

	/*
	 * NO TOCAR
	 * --
	 * No es un metodo generado
	 */
	public final String getNombreArchivo()
	{
		return id.toString() + archivo;
	}
	
	
	public void setId(Integer id) throws IllegalArgumentException
	{
		if( id == null )
			throw new IllegalArgumentException("Id de Sesion no puede ser nulo");
		
		this.id = id;
	}	
	
/*
 * Getters & setters
 * -----------------------------------------------------------------
 */

	@Override
	public String toString()
	{
		return "SesionTx [id=" + id + ", fecha=" + fecha + "]";
	}


	public Integer getDuracion()
	{
		return duracion;
	}

	public void setDuracion(Integer duracion)
	{
		this.duracion = duracion;
	}

	public String getObservaciones()
	{
		return observaciones;
	}

	public void setObservaciones(String observaciones)
	{
		this.observaciones = observaciones;
	}

	public String getCheckSum()
	{
		return checkSum;
	}

	public void setCheckSum(String checkSum)
	{
		this.checkSum = checkSum;
	}

	public Integer getId()
	{
		return id;
	}

	public Date getFecha()
	{
		return fecha;
	}

	public void setFecha(Date fecha)
	{
		this.fecha = fecha;
	}

	public Date getMomentoAlgido()
	{
		return momentoAlgido;
	}

	public void setMomentoAlgido(Date momentoAlgido)
	{
		this.momentoAlgido = momentoAlgido;
	}

	/*public Time getHoraInicio() {
		return horaInicio;
	}

	public void setHoraInicio(Time horaInicio) {
		this.horaInicio = horaInicio;
	}*/

	
}

